日記帳
本ページはプロモーションが含まれています
カテゴリー
Links
blog(ブログ)マスター
アンドロイドの巣
ゼロから始めるベランダ菜園
タイトル
2024年11月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

XOOPS でユーザー情報を未ログインで表示させなくする。

2006-03-14

XOOPS でユーザー情報を未ログインで表示させなくする。


※ この記事の内容は古くなっています



デフォルトでは、(20.13 時点において 以降はしらない)
開発者が個人情報保護を認識していないようで、
未ログインでも 登録ユーザー情報を足れながしです。

そのまま使うと、個人情報をたればながすわけですので
運営者は なにかにまきこまれて法律的に厳しいかと思います。

そこで とりあえず、
ログインしないと表示させない方法です。

【edituser.php で 利用しない項目をカットします。】
  これだけで、かなりのリスクが減ります。

たとえば、こんな感じです
// $form->addElement($name_text);
// $form->addElement($bio_tarea); // その他

また、こんなことるすることで 入力項目を制限します。
$location_text = new XoopsFormText(_US_LOCATION, 'user_from', 30, 100, $xoopsUser->getVar('user_from', 'E'));
 ↓
// $location_text = new XoopsFormText(_US_LOCATION, 'user_from', 30, 100, $xoopsUser->getVar('user_from', 'E'));
$location_text = new
XoopsFormSelect(_US_LOCATION, 'user_from', $xoopsUser->getVar('user_from', 'E'));
$location_text->addOptionArray(array(
""=>""
,"北海道"=>"北海道"
,"青森"=>"青森"
,"東京"=>"東京"
,"沖縄"=>"沖縄"
,"その他"=>"その他"
,"海外"=>"海外"
,"宇宙"=>"宇宙"
,"ひみつ"=>"ひみつ"
));
 
$occupation_text = new XoopsFormText(_US_OCCUPATION, 'user_occ', 30, 100, $xoopsUser->getVar('user_occ', 'E'));
 ↓
// $occupation_text = new XoopsFormText(_US_OCCUPATION, 'user_occ', 30, 100, $xoopsUser->getVar('user_occ', 'E'));
$occupation_text = new
XoopsFormSelect(_US_OCCUPATION, 'user_occ', $xoopsUser->getVar('user_occ', 'E'));
$occupation_text->addOptionArray(array(""=>"","ひみつ"=>"ひみつ"
, "芸人"=>"芸人"
, "宇宙人"=>"宇宙人"
, "一般人"=>"一般人"
,"その他"=>"その他"));



【html\modules\system\templates\system_userinfo.html】
次に
\html\modules\system\templates\system_userinfo.html

を開き、
不都合な項目は 変更していきます

誰でも閲覧 → ログインした者は閲覧可 に変更
<td class="odd"><{$user_email}></td>
 ↓
<td class="odd"><{if $xoops_isuser == true }><{$user_email}><{else}>***<{/if}></td>
さらに
↓ 誰にも見せたくない場合は、項目自体を 消すといいでしょう。
 

最後に、モジュール システムをアップデートして おわり。


 もー わからない っていう時の手段として
userinfo.php を消すという荒技もあります。

より高度な方法は、

誰でも閲覧 → 本人のみ閲覧可 に変更
89:userinfo.php
// $xoopsTpl->assign('user_uid', $thisUser->getVar('uid'));
}
$xoopsTpl->assign('user_uid', $thisUser->getVar('uid'));
↑ adminだけになっているのが 不可解?  比較にいるからいつでも必要でしょ?
ということで下に移動

 つぎに
<td class="odd"><{$user_email}></td>
 ↓ 登録者には 表示
<td class="odd"><{if $xoops_isuser == true}><{$user_email}><{else}>***<{/if}></td>
 ↓ 本人だけ 表示
<td class="odd"><{if $xoops_isuser == true && $xoops_userid == $user_uid}><{$user_email}><{else}>***<{/if}></td>
 ↓ さらに  本人 または 管理者のみ
<td class="odd"><{if ($xoops_isuser == true && $xoops_userid == $user_uid)||($xoops_isadmin == true)}><{$user_email}><{else}>***<{/if}></td>
↓ 誰にも見せたくない場合は、項目自体を 消すといいでしょう。
 

ブログ内 関連記事: XOOPS でユーザー情報を未ログインで表示させなくする


ブログ内 関連記事: XOOPS でユーザー情報を未ログインで表示させなくする

PR

[PR]